#!/bin/bash
# Docker Compose 检测使用示例
# 这个文件展示了如何在其他脚本中使用 detect_docker_compose.sh

set -e

echo "=========================================="
echo "  Docker Compose 检测使用示例"
echo "=========================================="
echo ""

# 获取脚本所在目录
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

# ==========================================
# 示例 1: 基本使用
# ==========================================
echo "【示例 1】基本使用 - 静默加载"
echo "---"

# 加载检测脚本
source "${SCRIPT_DIR}/detect_docker_compose.sh"

echo "检测到的命令: $DOCKER_COMPOSE"
echo "版本号: $COMPOSE_VERSION"
echo "版本类型: $COMPOSE_TYPE"
echo ""

# ==========================================
# 示例 2: 显示检测信息
# ==========================================
echo "【示例 2】显示检测信息"
echo "---"

# 清除变量后重新检测
unset DOCKER_COMPOSE COMPOSE_VERSION COMPOSE_TYPE

# 设置显示标志
export SHOW_DOCKER_COMPOSE_INFO=1

# 重新加载
source "${SCRIPT_DIR}/detect_docker_compose.sh"
echo ""

# ==========================================
# 示例 3: 使用变量执行命令
# ==========================================
echo "【示例 3】使用变量执行命令"
echo "---"

# 查看 compose 版本
echo "执行: $DOCKER_COMPOSE version"
$DOCKER_COMPOSE version
echo ""

# 查看服务状态
echo "执行: $DOCKER_COMPOSE ps"
$DOCKER_COMPOSE ps 2>/dev/null || echo "(当前没有运行的服务)"
echo ""

# ==========================================
# 示例 4: 条件执行
# ==========================================
echo "【示例 4】根据版本类型执行不同操作"
echo "---"

if [ "$COMPOSE_TYPE" = "V2" ]; then
    echo "✓ 检测到 Docker Compose V2"
    echo "  可以使用新特性: profiles, watch, etc."
elif [ "$COMPOSE_TYPE" = "V1" ]; then
    echo "✓ 检测到 Docker Compose V1"
    echo "  使用传统语法"
fi
echo ""

# ==========================================
# 示例 5: 错误处理
# ==========================================
echo "【示例 5】错误处理"
echo "---"

# 创建一个函数来处理 compose 命令
run_compose() {
    if [ -z "$DOCKER_COMPOSE" ]; then
        echo "错误: DOCKER_COMPOSE 变量未设置" >&2
        return 1
    fi
    
    echo "执行: $DOCKER_COMPOSE $@"
    $DOCKER_COMPOSE "$@"
}

# 使用函数
run_compose config --services 2>/dev/null || echo "(当前目录没有 docker-compose.yml)"
echo ""

echo "=========================================="
echo "  示例完成"
echo "=========================================="
echo ""
echo "提示: 复制上述代码到你的脚本中使用"

